<?xml version="1.0"?>
<doc>
    <assembly>
        <name>WCell.Core</name>
    </assembly>
    <members>
        <member name="T:WCell.AuthServer.AuthPacketOut">
            <summary>
            Represents an outbound packet going to the client.
            </summary>
        </member>
        <member name="T:WCell.Core.Network.PacketOut">
            <summary>
            Writes data to an outgoing packet stream
            </summary>
        </member>
        <member name="T:WCell.Core.Network.PrimitiveWriter">
            <summary>
            An extension of <seealso cref="T:System.IO.BinaryWriter"/>, which provides overloads
            for writing primitives to a stream, including special WoW structures
            </summary>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteByte(System.Byte)">
            <summary>
            Writes a byte to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteByte(System.UInt16)">
            <summary>
            Writes a byte to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteByte(System.Int16)">
            <summary>
            Writes a byte to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteByte(System.UInt32)">
            <summary>
            Writes a byte to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteByte(System.Int32)">
            <summary>
            Writes a byte to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteByte(System.Boolean)">
            <summary>
            Writes a byte to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShort(System.Byte)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShort(System.UInt16)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShort(System.Int16)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShort(System.UInt32)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShort(System.Int32)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteInt(System.Byte)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteInt(System.UInt16)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteInt(System.Int16)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteInt(System.UInt32)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteInt(System.Int32)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.Byte)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.UInt16)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.Int16)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.UInt32)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.Int32)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.Double)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteFloat(System.Single)">
            <summary>
            Writes a float to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUShort(System.Byte)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUShort(System.UInt16)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUShort(System.Int16)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUShort(System.UInt32)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUShort(System.Int32)">
            <summary>
            Writes a short to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUInt(System.Byte)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUInt(System.UInt16)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUInt(System.Int16)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUInt(System.UInt32)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUInt(System.Int32)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUInt(System.Int64)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.Byte)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.UInt16)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.Int16)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.UInt32)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.Int32)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.UInt64)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteULong(System.Int64)">
            <summary>
            Writes an int to the stream
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteCString(System.String)">
            <summary>
            Writes a C-style string to the stream (actual string is null-terminated)
            </summary>
            <param name="str">String to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteUTF8CString(System.String)">
            <summary>
            Writes a C-style UTF8 string to the stream (actual string is null-terminated)
            </summary>
            <param name="str">String to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteBigInt(WCell.Core.Cryptography.BigInteger)">
            <summary>
            Writes a BigInteger to the stream
            </summary>
            <param name="bigInt">BigInteger to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteBigInt(WCell.Core.Cryptography.BigInteger,System.Int32)">
            <summary>
            Writes a BigInteger to the stream
            </summary>
            <param name="bigInt">BigInteger to write</param>
            <param name="length">maximum numbers of bytes to write for th BigInteger</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteBigIntLength(WCell.Core.Cryptography.BigInteger)">
            <summary>
            Writes a BigInteger to the stream, while writing the length before it
            </summary>
            <param name="bigInt">BigInteger to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteBigIntLength(WCell.Core.Cryptography.BigInteger,System.Int32)">
            <summary>
            Writes a BigInteger to the stream, while writing the length before it
            </summary>
            <param name="bigInt">BigInteger to write</param>
            <param name="length">maximum numbers of bytes to write for th BigInteger</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShortBE(System.Byte)">
            <summary>
            Writes a short to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShortBE(System.Int16)">
            <summary>
            Writes a short to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteShortBE(System.Int32)">
            <summary>
            Writes a short to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteIntBE(System.Byte)">
            <summary>
            Writes an int to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteIntBE(System.Int16)">
            <summary>
            Writes an int to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteIntBE(System.Int32)">
            <summary>
            Writes an int to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteLongBE(System.Int64)">
            <summary>
            Writes a long to the stream, in network order
            </summary>
            <param name="val">the value to write</param>
        </member>
        <member name="M:WCell.Core.Network.PrimitiveWriter.WriteDateTime(System.DateTime)">
            <summary>
            Writes a date time to the stream, in WoW format
            </summary>
            <param name="dateTime">the time to write</param>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.#ctor(WCell.Core.Network.PacketId)">
            <summary>
            Constructs an empty packet with the given packet ID.
            </summary>
            <param name="id">the ID of the packet</param>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.#ctor(WCell.Core.Network.PacketId,System.Int32)">
            <summary>
            Constructs an empty packet with an initial capacity of exactly or greater than the specified amount.
            </summary>
            <param name="id">the ID of the packet</param>
            <param name="initialCapacity">the minimum space required for the packet</param>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.Fill(System.Byte,System.Int32)">
            <summary>
            The buffer is already internally resized
            </summary>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.FinalizeWrite">
            <summary>
            Finalize packet data
            </summary>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.GetFinalizedPacket">
            <summary>
            Finalizes and copies the content of the packet
            </summary>
            <returns>Packet data</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.Reverse``1(``0[])">
            <summary>
            Reverses the contents of an array
            </summary>
            <typeparam name="T">type of the array</typeparam>
            <param name="buffer">array of objects to reverse</param>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.Reverse``1(``0[],System.Int32)">
            <summary>
            Reverses the contents of an array
            </summary>
            <typeparam name="T">type of the array</typeparam>
            <param name="buffer">array of objects to reverse</param>
            <param name="length">number of objects in the array</param>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.ToHexDump">
            <summary>
            Dumps the packet to string form, using hexadecimal as the formatter
            </summary>
            <returns>hexadecimal representation of the data parsed</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.ToString">
            <summary>
            Gets the name of the packet ID. (ie. CMSG_PING)
            </summary>
            <returns>a string containing the packet's canonical name</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketOut.WriteUIntPascalString(System.String)">
            <summary>
            String preceeded by uint length
            </summary>
            <param name="message"></param>
        </member>
        <member name="P:WCell.Core.Network.PacketOut.HeaderSize">
            <summary>
            The packet header size.
            </summary>
            <returns>The header size in bytes.</returns>
        </member>
        <member name="P:WCell.Core.Network.PacketOut.PacketId">
            <summary>
            The ID of this packet.
            </summary>
            <example>RealmServerOpCode.SMSG_QUESTGIVER_REQUEST_ITEMS</example>
        </member>
        <member name="P:WCell.Core.Network.PacketOut.Position">
            <summary>
            The position within the current packet.
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketOut.TotalLength">
            <summary>
            The length of this packet in bytes
            </summary>
        </member>
        <member name="F:WCell.AuthServer.AuthPacketOut.HEADER_SIZE">
            <summary>
            Constant indicating this <c>AuthPacketOut</c> header size.
            </summary>
        </member>
        <member name="M:WCell.AuthServer.AuthPacketOut.#ctor(WCell.Constants.AuthServerOpCode)">
            <summary>
            Default constructor.
            </summary>
            <param name="packetOpcode">the opcode of the packet</param>
        </member>
        <member name="P:WCell.AuthServer.AuthPacketOut.HeaderSize">
            <summary>
            The <c>AuthPacketOut</c> header size.
            </summary>
        </member>
        <member name="P:WCell.AuthServer.AuthPacketOut.OpCode">
            <summary>
            The op-code of this packet.
            </summary>
        </member>
        <member name="M:WCell.Core.Network.PacketHandler`2.#ctor(System.Action{`0,`1},System.Boolean,System.Boolean)">
            <summary>
            Creates a packet handler definition.
            </summary>
            <param name="handler">the handler to wrap</param>
            <param name="gamePacket">whether or not this packet is a game packet (after authntication)</param>
        </member>
        <member name="P:WCell.Core.Network.PacketHandler`2.Handler">
            <summary>
            The handler delegate.
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketHandler`2.IsGamePacket">
            <summary>
            Whether a selected Character is required for this kind of Packet
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketHandler`2.RequiresLogIn">
            <summary>
            Whether this Packet requires the player
            to be logged in with a Character and not being
            in the process of logging out.
            </summary>
        </member>
        <member name="F:WCell.Core.Initialization.InitializationPass.Config">
            <summary>
            During this step, the config will be loaded
            </summary>
        </member>
        <member name="T:WCell.Core.Addons.WCellAddonMgr">
            <summary>
            Static helper and container class
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonMgr.Configurations">
            <summary>
            All configurations of existing addons.
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonMgr.Assemblies">
            <summary>
            All Assemblies of all Addons and utility libraries.
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonMgr.Contexts">
            <summary>
            All existing AddonContexts
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonMgr.Addons">
            <summary>
            All existing WCellAddons by Name
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonMgr.Descriptors">
            <summary>
            A list of all external libraries and addons to be loaded.
            A description is either a simple dll filename or the filename, followed by a comma, followed by 
            the fully specified typename of the Plugin-Class to be activated and initialized.
            </summary>
        </member>
        <member name="M:WCell.Core.Addons.WCellAddonMgr.GetContext(System.String)">
            <summary>
            
            </summary>
            <param name="typeName">The full typename of the WCellAddon</param>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Addons.WCellAddonMgr.LoadAll(System.Collections.Generic.IEnumerable{WCell.Core.Addons.WCellAddonDescriptor},System.Boolean)">
            <summary>
            Creates (and -if specified- also loads) all addons from the given descriptors
            </summary>
            <param name="autoLoad">Whether to load the Assemblies and Addons immediately</param>
        </member>
        <member name="M:WCell.Core.Addons.WCellAddonMgr.GetDefaultDescription(WCell.Core.Addons.IWCellAddon)">
            <summary>
            
            </summary>
        </member>
        <member name="T:WCell.Core.Database.DatabaseUtil">
            <summary>
            Temporary class - Will need cleanup.
            </summary>
        </member>
        <member name="F:WCell.Core.Database.DatabaseUtil.Input">
            <summary>
            The TextReader from which to read Input
            </summary>
        </member>
        <member name="F:WCell.Core.Database.DatabaseUtil.DBErrorHook">
            <summary>
            Is called when the DB creates an error and asks the User whether or not
            to auto-recreate the DB. Will not query the user and directly throw the Exception
            if false is returned (in order to avoid DB-deletion of production systems).
            </summary>
        </member>
        <member name="M:WCell.Core.Database.DatabaseUtil.ReleaseConsole">
            <summary>
            Console should not be read from anymore at this point.
            </summary>
        </member>
        <member name="M:WCell.Core.Database.DatabaseUtil.InitAR(System.Reflection.Assembly)">
            <summary>
            Called to initialize setup NHibernate and ActiveRecord
            </summary>
            <param name="asm"></param>
            <param name="dbType"></param>
            <param name="connStr"></param>
            <returns>Whether its a fatal error</returns>
        </member>
        <member name="M:WCell.Core.Database.DatabaseUtil.CreateSchema">
            <summary>
            Creates the Schema of all tables that this has originally initialized with
            </summary>
        </member>
        <member name="M:WCell.Core.Database.DatabaseUtil.DropSchema">
            <summary>
            Drops the Schema of all tables that this has originally initialized with
            </summary>
        </member>
        <member name="P:WCell.Core.Database.DatabaseUtil.IsWaiting">
            <summary>
            Whether it is currently waiting for user-input.
            </summary>
        </member>
        <member name="T:WCell.Core.AppConfig">
            <summary>
            Defines a configuration made up of key/value values
            </summary>
        </member>
        <member name="F:WCell.Core.AppConfig.SaveOnChange">
            <summary>
            Whether to save after adding/changing values
            </summary>
        </member>
        <member name="M:WCell.Core.AppConfig.#ctor(System.String)">
            <summary>
            Default constructor
            </summary>
            <param name="executablePath">The path of the executable whose App-config to load</param>
        </member>
        <member name="M:WCell.Core.AppConfig.LoadConfigDefaults">
            <summary>
            Loads default values in the configuration if they don't already exist
            </summary>
        </member>
        <member name="M:WCell.Core.AppConfig.CreateValue(System.String,System.Object)">
            <summary>
            Creates a config entry with the supplied value if one doesn't already exist
            </summary>
            <param name="key">the key</param>
            <param name="value">the value</param>
        </member>
        <member name="M:WCell.Core.AppConfig.GetEnumerator">
            <summary>
            Get an enumerator that represents the key/value pairs of this configuration
            </summary>
            <returns>an IEnumerator object to enumerate through this configuration</returns>
        </member>
        <member name="F:WCell.Core.WCellDef.RealmServerUpdateInterval">
            <summary>
            The delay for every RealmServer to send updates to the AuthServer.
            If the AuthServer didn't receive an Update after this * 1.5, the Realm is considered offline.
            </summary>
        </member>
        <member name="F:WCell.Core.WCellDef.ROOT_PATH">
            <summary>
            Root path of the server binaries
            </summary>
        </member>
        <member name="T:WCell.Core.Network.FakeClientBase`4">
            <summary>
            The FakeClientBase cannot handle sending of partial packets!
            </summary>
            <typeparam name="C">The type of this FakeClient</typeparam>
            <typeparam name="PI">The type of PacketIn</typeparam>
            <typeparam name="PO">The type of PacketOut</typeparam>
            <typeparam name="PM">The type of the PacketManager</typeparam>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.#ctor(Cell.Core.ServerBase,`3)">
            <summary>
            
            </summary>
            <param name="server"></param>
            <param name="packetManager">The PacketManager that handles the packets sent to this Client by the server.</param>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.Send(System.Byte[])">
            <summary>
            Sends a new Packet to this Client.
            </summary>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.Send(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends a new Packet to this Client.
            </summary>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.Send(`2)">
            <summary>
            Sends a new Packet to this Client.
            </summary>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.HandleSMSG(`1)">
            <summary>
            Handles the given packet, sent by the server.
            </summary>
            <returns>Whether the packet got handled instantly or (if false) failed or was enqueued</returns>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.Dispose">
            <summary>
            Remove all used resources
            </summary>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.CreatePacket(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Creates a new PacketIn of this class' Packet-type, using the given 
            PacketOut-bytes.
            </summary>
            <param name="outPacketBytes"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Network.FakeClientBase`4.CreatePacket(`2)">
            <summary>
            Creates a new PacketIn of this class' Packet-type, using the given 
            PacketOut-bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="P:WCell.Core.Network.FakeClientBase`4._ThisClient">
            <summary>
            Returns this Client casted to C
            </summary>
        </member>
        <member name="T:WCell.Core.Network.DisposableRealmPacketIn">
            <summary>
            This kind of RealmPacketIn frees the used BufferSegment no disposal
            </summary>
        </member>
        <member name="T:WCell.RealmServer.RealmPacketIn">
            <summary>
            Reads data from incoming packet stream, targetted specifically for the realm server
            </summary>
        </member>
        <member name="T:WCell.Core.Network.PacketIn">
            <summary>
            Reads primitive data types from an array of binary data.
            </summary>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.#ctor(Cell.Core.BufferSegment,System.Int32,System.Int32)">
            <summary>
            Constructs a PacketIn object given the buffer to read, the offset to read from, and the number of bytes to read.
            </summary>
            <param name="segment">The buffer container wrapping our data</param>
            <param name="offset">The offset to read from the data array</param>
            <param name="length">The number of bytes to read</param>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadUInt16BE">
            <summary>
            Reads a 2-byte big endian integer value from the current stream and advances the current position of the stream by two bytes.
            </summary>
            <returns>A 2-byte big endian integer value read from the current stream.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadFloat">
            <summary>
            Reads a 4-byte floating point value from the current stream and advances the current position of the stream by four bytes.
            </summary>
            <returns>A 4-byte floating point value read from the current stream.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadCString">
            <summary>
            Reads a null-terminated UTF-8 encoded string.
            </summary>
            <returns>the string that was read</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadReversedString">
            <summary>
            Reads a string from the current stream, and reverses it. The string is ended with a NULL byte.
            </summary>
            <returns>The string being read.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadPascalString">
            <summary>
            Reads a string from the current stream. The string is prefixed with the length, encoded as an integer seven bits at a time.
            </summary>
            <returns>The string being read.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadPascalStringUShort">
            <summary>
            
            </summary>
            <returns>The string being read.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadPascalStringUInt">
            <summary>
            
            </summary>
            <returns>The string being read.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadReversedPascalString(System.Int32)">
            <summary>
            Reads a string from the current stream, and reverses it. The string read is of length bytes.
            </summary>
            <returns>The string being read.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadBigInteger(System.Int32)">
            <summary>
            Reads a <see cref="T:WCell.Core.Cryptography.BigInteger"/> from the current stream. The <see cref="T:WCell.Core.Cryptography.BigInteger"/> is of length bytes.
            </summary>
            <param name="length">The length in bytes of the <see cref="T:WCell.Core.Cryptography.BigInteger"/>.</param>
            <returns>The <see cref="T:WCell.Core.Cryptography.BigInteger"/> representation of the bytes.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadBigIntegerLengthValue">
            <summary>
            Reads a <see cref="T:WCell.Core.Cryptography.BigInteger"/> from the current stream. The <see cref="T:WCell.Core.Cryptography.BigInteger"/> is prefixed by the length.
            </summary>
            <returns>The <see cref="T:WCell.Core.Cryptography.BigInteger"/> representation of the bytes.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadIPAddress">
            <summary>
            Reads an <see cref="T:Cell.Core.XmlIPAddress"/> from the current stream. 
            </summary>
            <returns>The <see cref="T:Cell.Core.XmlIPAddress"/> representation of the bytes.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadVector3">
            <summary>
            Reads a <see cref="T:WCell.Util.Graphics.Vector3"/> from the current stream. 
            </summary>
            <returns>The <see cref="T:WCell.Util.Graphics.Vector3"/> representation of the bytes.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadVector4">
            <summary>
            Reads a <see cref="T:WCell.Util.Graphics.Vector4"/> from the current stream. 
            </summary>
            <returns>The <see cref="T:WCell.Util.Graphics.Vector4"/> representation of the bytes.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadEntityId">
            <summary>
            Reads an EntityId from this stream and advances the current position of the stream by eight bytes.
            </summary>
            <returns>An EntityId read from the current stream.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ReadPackedEntityId">
            <summary>
            Reads an EntitiyId packed
            </summary>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.SkipBytes(System.Int32)">
            <summary>
            Advances the position of the current stream by num bytes.
            </summary>
            <param name="num">The number of bytes to advance.</param>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.Seek(System.Int32,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <param name="offset">A byte offset relative to the origin parameter.</param>
            <param name="origin">A value of type System.IO.SeekOrigin indicating the reference point used to obtain the new position.</param>
            <returns>The new position within the current stream.</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ToString">
            <summary>
            Gets the name of the packet ID. (ie. CMSG_PING)
            </summary>
            <returns>a string containing the packet's canonical name</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketIn.ToHexDump">
            <summary>
            </summary>
            <returns></returns>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.HeaderSize">
            <summary>
            The packet header size.
            </summary>
            <returns>The header size in bytes.</returns>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.PacketId">
            <summary>
            The ID of this packet.
            </summary>
            <example>RealmServerOpCode.SMSG_QUESTGIVER_REQUEST_ITEMS</example>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.Position">
            <summary>
            The position within the current packet.
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.Length">
            <summary>
            The length in bytes of the packet.
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.ContentLength">
            <summary>
            The length in bytes of the packet.
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.RemainingLength">
            <summary>
            Number of bytes available in the packet data.
            </summary>
        </member>
        <member name="P:WCell.Core.Network.PacketIn.Disposed">
            <summary>
            Whether or not this packet has been disposed.
            </summary>
        </member>
        <member name="M:WCell.RealmServer.RealmPacketIn.#ctor(Cell.Core.BufferSegment,System.Int32,System.Int32,WCell.Constants.RealmServerOpCode,System.Int32)">
            <summary>
            Constructs a RealmPacketIn object given the buffer to read, the offset to read from, and the number of bytes to read.
            Do not use this, unless you have a BufferManager that ensures the BufferWrapper's content to be pinned. 
            For self-managed RealmPackets, use <c>DisposableRealmPacketIn</c>.
            </summary>
            <param name="segment">buffer container to read from</param>
            <param name="offset">offset to read from relative to the segment offset</param>
            <param name="length">number of bytes to read</param>
            <param name="opcode">the opcode of this packet</param>
        </member>
        <member name="M:WCell.RealmServer.RealmPacketIn.Copy">
            <summary>
            Make sure to Dispose the copied packet!
            </summary>
            <returns></returns>
        </member>
        <member name="P:WCell.Core.Network.DisposableRealmPacketIn.Segment">
            <summary>
            Exposed BufferSegment for customizations etc.
            </summary>
        </member>
        <member name="T:WCell.Core.Database.AsyncQuery">
            <summary>
            Interface for asynchronous query procs.
            </summary>
        </member>
        <member name="T:WCell.Core.ClientInformation">
            <summary>
            Describes basic system information about a client, 
            including architecture, OS, and locale.
            </summary>
        </member>
        <member name="M:WCell.Core.ClientInformation.ReadFromPacket(WCell.Core.Network.PacketIn)">
            <summary>
            Generates a system information objet from the given packet.
            </summary>
            <param name="inPacket">contains the system information in a raw, serialized format</param>
        </member>
        <member name="M:WCell.Core.ClientInformation.Serialize(WCell.Core.ClientInformation)">
            <summary>
            Serializes a <see cref="T:WCell.Core.ClientInformation"/> object to a binary representation.
            </summary>
            <param name="clientInfo">the client information object</param>
            <returns>the binary representation of the <see cref="T:WCell.Core.ClientInformation"/> object</returns>
        </member>
        <member name="M:WCell.Core.ClientInformation.Deserialize(System.Byte[])">
            <summary>
            Deserializes a <see cref="T:WCell.Core.ClientInformation"/> object from its binary representation.
            </summary>
            <param name="rawInfoData">the binary data for the <see cref="T:WCell.Core.ClientInformation"/> object</param>
            <returns>a <see cref="T:WCell.Core.ClientInformation"/> object</returns>
        </member>
        <member name="P:WCell.Core.ClientInformation.Version">
            <summary>
            The game client version of the client.
            </summary>
        </member>
        <member name="P:WCell.Core.ClientInformation.OS">
            <summary>
            The operating system of the client.
            </summary>
        </member>
        <member name="P:WCell.Core.ClientInformation.Architecture">
            <summary>
            The CPU architecture of the client.
            </summary>
        </member>
        <member name="P:WCell.Core.ClientInformation.Locale">
            <summary>
            The location and native language of the client.
            </summary>
        </member>
        <member name="P:WCell.Core.ClientInformation.TimeZone">
            <summary>
            The timezone of the client.
            </summary>
        </member>
        <member name="P:WCell.Core.ClientInformation.IPAddress">
            <summary>
            The IP address of the client.
            Not really trustworthy.
            </summary>
            <remarks>This is serializable.</remarks>
        </member>
        <member name="T:WCell.Core.ClientInformation.OperatingSystem">
            <summary>
            Possible operating systems of the client
            </summary>
        </member>
        <member name="F:WCell.Core.ClientInformation.OperatingSystem.OSX">
            <summary>
            Mac OSX
            </summary>
        </member>
        <member name="F:WCell.Core.ClientInformation.OperatingSystem.Win">
            <summary>
            Any supported version of Windows
            </summary>
        </member>
        <member name="T:WCell.Core.ClientInformation.ProcessorArchitecture">
            <summary>
            Possible CPU architectures of the client
            </summary>
        </member>
        <member name="F:WCell.Core.ClientInformation.ProcessorArchitecture.x86">
            <summary>
            x86 architecture (AMD, Intel, Via)
            </summary>
        </member>
        <member name="F:WCell.Core.ClientInformation.ProcessorArchitecture.PPC">
            <summary>
            PowerPC architecture (all pre-2006Q1 Apple computers)
            </summary>
        </member>
        <member name="T:WCell.Core.Cryptography.HashUtilities">
            <summary>
            Provides facilities for performing common-but-specific
            cryptographical operations
            </summary>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.FinalizeHash(System.Security.Cryptography.HashAlgorithm,WCell.Core.Cryptography.HashUtilities.HashDataBroker[])">
            <summary>
            Computes a hash from hash data brokers using the given
            hashing algorithm
            </summary>
            <param name="algorithm">the hashing algorithm to use</param>
            <param name="brokers">the data brokers to hash</param>
            <returns>the hash result of all the data brokers</returns>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.HashToBigInteger(System.Security.Cryptography.HashAlgorithm,WCell.Core.Cryptography.HashUtilities.HashDataBroker[])">
            <summary>
            Computes a hash from hash data brokers using the given 
            hash algorithm, and generates a BigInteger from it
            </summary>
            <param name="algorithm"></param>
            <param name="brokers"></param>
            <returns></returns>
        </member>
        <member name="T:WCell.Core.Cryptography.HashUtilities.HashDataBroker">
            <summary>
            Brokers various data types into their integral raw
            form for usage by other cryptographical functions
            </summary>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.HashDataBroker.#ctor(System.Byte[])">
            <summary>
            Default constructor
            </summary>
            <param name="data">the data to broker</param>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.HashDataBroker.op_Implicit(System.Byte[])~WCell.Core.Cryptography.HashUtilities.HashDataBroker">
            <summary>
            Implicit operator for byte[]->HashDataBroker casts
            </summary>
            <param name="data">the data to broker</param>
            <returns>a HashDataBroker object representing the original data</returns>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.HashDataBroker.op_Implicit(System.String)~WCell.Core.Cryptography.HashUtilities.HashDataBroker">
            <summary>
            Implicit operator for string->HashDataBroker casts
            </summary>
            <param name="str">the data to broker</param>
            <returns>a HashDataBroker object representing the original data</returns>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.HashDataBroker.op_Implicit(WCell.Core.Cryptography.BigInteger)~WCell.Core.Cryptography.HashUtilities.HashDataBroker">
            <summary>
            Implicit operator for BigInteger->HashDataBroker casts
            </summary>
            <param name="integer">the data to broker</param>
            <returns>a HashDataBroker object representing the original data</returns>
        </member>
        <member name="M:WCell.Core.Cryptography.HashUtilities.HashDataBroker.op_Implicit(System.UInt32)~WCell.Core.Cryptography.HashUtilities.HashDataBroker">
            <summary>
            Implicit operator for uint->HashDataBroker casts
            </summary>
            <param name="integer">the data to broker</param>
            <returns>a HashDataBroker object representing the original data</returns>
        </member>
        <member name="T:WCell.Core.TerrainAnalysis.ITerrain">
            <summary>
            Represents the Terrain of a certain Map
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.HasLOS(WCell.Util.Graphics.Vector3,WCell.Util.Graphics.Vector3)">
            <summary>
            Returns true if there is a clear line of sight between startPos and endPos.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryWorldHeight(WCell.Util.Graphics.Vector3)">
            <summary>
            Returns the height of the nearest point beneath the given position.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryDirectPath(WCell.Core.Paths.PathQuery)">
            <summary>
            Sends a query to retrieve the shortest path and calls the callback upon return.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryTerrainHeight(WCell.Util.Graphics.Vector3)">
            <summary>
            Returns the interpolated height of the terrain based on stored height-map data.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.HasTerrainLOS(WCell.Util.Graphics.Vector3,WCell.Util.Graphics.Vector3)">
            <summary>
            Returns true if the line between startPos and endPos does not intersect the terrain.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryWMOCollision(WCell.Util.Graphics.Vector3,WCell.Util.Graphics.Vector3)">
            <summary>
            Returns null if no buildings exist between startPos and endPos, else the distance to the first building.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.HasWMOLOS(WCell.Util.Graphics.Vector3,WCell.Util.Graphics.Vector3)">
            <summary>
            Returns true if the line between startPos and endPos does not intersect any building parts.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryWMOHeight(WCell.Util.Graphics.Vector3)">
            <summary>
            Returns the height of the WMO piece directly beneath a position or null if no piece exists.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryModelCollision(WCell.Util.Graphics.Vector3,WCell.Util.Graphics.Vector3)">
            <summary>
            Returns null if no models exist between startPos and endPos, else the distance to the first model.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.HasModelLOS(WCell.Util.Graphics.Vector3,WCell.Util.Graphics.Vector3)">
            <summary>
            Returns true if the line between startPos and endPos does not intersect any model parts.
            </summary>
        </member>
        <member name="M:WCell.Core.TerrainAnalysis.ITerrain.QueryModelHeight(WCell.Util.Graphics.Vector3)">
            <summary>
            Returns the height of the Model piece directly beneath a position or null if no piece exists.
            </summary>
        </member>
        <member name="P:WCell.Core.Statistics`1.StatsPostInterval">
            <summary>
            The Statistic-timer update interval in seconds
            </summary>
        </member>
        <member name="M:WCell.Core.ServerApp`1.GetType(System.String)">
            <summary>
            Gets the type from the App's own or any of the currently registered Addon Assemblies.
            </summary>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.ServerApp`1.RegisterUpdatable(WCell.Core.Timers.IUpdatable)">
            <summary>
            Registers an updatable object in the server timer pool.
            </summary>
            <param name="updatable">the object to register</param>
        </member>
        <member name="M:WCell.Core.ServerApp`1.UnregisterUpdatable(WCell.Core.Timers.IUpdatable)">
            <summary>
            Unregisters an updatable object from the server timer pool.
            </summary>
            <param name="updatable">the object to unregister</param>
        </member>
        <member name="M:WCell.Core.ServerApp`1.AddMessage(System.Action)">
            <summary>
            Queues a task for execution in the server task pool.
            </summary>
        </member>
        <member name="M:WCell.Core.ServerApp`1.AddMessage(WCell.Util.Threading.IMessage)">
            <summary>
            Queues a task for execution in the server task pool.
            </summary>
            <param name="msg"></param>
        </member>
        <member name="M:WCell.Core.ServerApp`1.Start">
            <summary>
            Starts the server and performs and needed initialization.
            </summary>
        </member>
        <member name="M:WCell.Core.ServerApp`1.ShutdownIn(System.UInt32)">
            <summary>
            Forces the server to shutdown after the given delay.
            </summary>
            <param name="delayMillis">the time to wait before shutting down</param>
        </member>
        <member name="P:WCell.Core.ServerApp`1.Instance">
            <summary>
            Returns the single instance of the implemented server class.
            </summary>
        </member>
        <member name="P:WCell.Core.ServerApp`1.Revision">
            <summary>
            Gets the SVN revision for the current server build.
            </summary>
        </member>
        <member name="P:WCell.Core.ServerApp`1.RevisionString">
            <summary>
            Gets the string representation of the SVN revision for the current server build.
            </summary>
        </member>
        <member name="P:WCell.Core.ServerApp`1.AssemblyVersion">
            <summary>
            Gets the assembly version information for the entry assembly of the process.
            </summary>
        </member>
        <member name="P:WCell.Core.ServerApp`1.IsShuttingDown">
            <summary>
            Whether the Server is in the process of shutting down (cannot be cancelled anymore)
            </summary>
        </member>
        <member name="P:WCell.Core.ServerApp`1.IsPreparingShutdown">
            <summary>
            Whether a timer has been started to shutdown the server.
            </summary>
        </member>
        <member name="P:WCell.Core.ServerApp`1.IsInContext">
            <summary>
            Indicates whether the current Thread is the processor of the MessageQueue
            </summary>
        </member>
        <member name="E:WCell.Core.ServerApp`1.Shutdown">
            <summary>
            Triggered when the App shuts down.
            </summary>
        </member>
        <member name="T:WCell.Core.SingletonHolder`1">
            <summary>
            Private class for instances of a singleton object.
            </summary>
            <typeparam name="TSingle">the type of the singleton object</typeparam>
        </member>
        <member name="T:WCell.Core.Addons.IWCellAddon">
            <summary>
            Simple plugin that cannot be unloaded (the script component will make up for that)
            </summary>
        </member>
        <member name="M:WCell.Core.Addons.IWCellAddon.GetLocalizedName(System.Globalization.CultureInfo)">
            <summary>
            The localized name, in the given culture
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.IWCellAddon.Name">
            <summary>
            The culture-invariant name of this Addon
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.IWCellAddon.ShortName">
            <summary>
            A shorthand name of the Addon that does not contain any spaces.
            Used as unique ID for this Addon.
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.IWCellAddon.Author">
            <summary>
            The name of the Author
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.IWCellAddon.Website">
            <summary>
            Website (where this Addon can be found)
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.IWCellAddon.Config">
            <summary>
            The Configuration to be used. May be null if this Addon is not configurable.
            </summary>
        </member>
        <member name="T:WCell.Core.Cryptography.SecureRemotePassword">
             <summary>
             This is an implementation of the SRP algorithm documented here:
             
             http://srp.stanford.edu/design.html
             
            
             Example code (though usually data is copied over the wire):
             	WCell.Cryptography.SRP server = new WCell.Cryptography.SRP(true, "USER", "PASSWORD");
            		WCell.Cryptography.SRP client = new WCell.Cryptography.SRP(false, "USER", "PASSWORD");
            
            		server.PublicEphemeralValueA = client.PublicEphemeralValueA;
            		client.Salt = server.Salt;
            		client.PublicEphemeralValueB = server.PublicEphemeralValueB;
            
            		Console.WriteLine("Server's session key = {0}", server.SessionKey.ToHexString());
            		Console.WriteLine("Client's session key = {0}", client.SessionKey.ToHexString());
            
            		Console.WriteLine("\nServer key == client key {0}", server.SessionKey == client.SessionKey);
            
            		Console.WriteLine("Client proof valid: {0}", client.ClientSessionKeyProof == server.ClientSessionKeyProof);
            		Console.WriteLine("Server proof valid: {0}", client.ServerSessionKeyProof == server.ServerSessionKeyProof);
             </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.MinPassLength">
            <summary>
            The required minimum length of a password
            </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.MaxPassLength">
            <summary>
            The required maximum length of a password
            </summary>
        </member>
        <member name="M:WCell.Core.Cryptography.SecureRemotePassword.#ctor(System.String,WCell.Core.Cryptography.BigInteger,WCell.Core.Cryptography.BigInteger,WCell.Core.Cryptography.SecureRemotePassword.SRPParameters)">
            <summary>
            Make an SRP for user authentication. You use something like this when your
            verifier and salt are stored in a database
            </summary>
            <param name="username"></param>
            <param name="verifier"></param>
            <param name="salt"></param>
            <param name="parameters"></param>
        </member>
        <member name="M:WCell.Core.Cryptography.SecureRemotePassword.RandomNumber">
            <summary>
            Generate a random number of maximal size
            </summary>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Cryptography.SecureRemotePassword.RandomNumber(System.UInt32)">
            <summary>
            Generate a random number of a specified size
            </summary>
            <param name="size">Maximum size in bytes of the random number</param>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Cryptography.SecureRemotePassword.GenerateCredentialsHash(System.String,System.String)">
            <summary>
            Generates a hash for an account's credentials (username:password) based on the SRP hashing method,
            </summary>
            <param name="username">the username</param>
            <param name="password">the password</param>
            <returns>a byte array of the resulting hash</returns>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.IsServer">
            <summary>
            Are we the server? This should be set before calculation commences.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.Username">
            <summary>
            Correct username. This should be set before calculations happen.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.ClientSessionKeyProof">
            <summary>
            Referred to as 'M' in the documentation. This is used for authentication.
            
            The client sends this value to the server and the server calculates it locally to verify it.
            The same then happens with ServerSessionKeyProof. Note ClientSessionKeyProof should come first.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.ServerSessionKeyProof">
            <summary>
            The server sends this to the client as proof it has the same session key as the client.
            The client will calculate this locally to verify.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.Multiplier">
            <summary>
            'k' in the spec. In SRP-6a k = H(N, g). Older versions have k = 3.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.Salt">
            <summary>
            Salt for credentials hash. You can bind this to the users'
            account or use the automatically generated random salt.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.CredentialsHash">
            <summary>
            'x' in the spec. Note that this is slightly different - the spec says
            x = H(s, p) whereas here x = H(s, H(I, p)), which is the implementation in the demo.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.PublicEphemeralValueA">
            <summary>
            'A' in the spec. A = g^a, generated by client and sent to the server
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.PublicEphemeralValueB">
            <summary>
            'B' in the spec. B = kv + g^b, generated by the server and sent to the client
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.ScramblingParameter">
            <summary>
            u in the spec. Generated by both server and client.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.SessionKeyRaw">
            <summary>
            This is the session key used for encryption later.
            'K' in the spec. Note that this is different to 'k' (Multiplier)
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.Verifier">
            <summary>
            V in the spec.
            v = g^x (mod N)
            
            This only makes sense for servers.
            </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.KeyLength">
            <summary>
            Maximum length of crypto keys in bytes.
            </summary>
            <remarks>You might get unlucky and have much shorter keys - this should be checked and keys recalculated.</remarks>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.RandomGenerator">
            <summary>
            Random number generator for this instance.
            </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.AlgorithmVersion">
            <summary>
            Version of this instance.
            </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.Hash">
            <summary>
            Hashing function for the instance.
            </summary>
            <remarks>MD5 or other SHA hashes are usable, though SHA1 is more standard for SRP.</remarks>
        </member>
        <member name="F:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.s_generator">
            <summary>
            'g' in the spec. This number must be a generator in the finite field Modulus.
            </summary>
        </member>
        <member name="P:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.Modulus">
            <summary>
            All operations are mod this number. It should be a large prime.
            </summary>
            <remarks>Referred to as 'N' in the spec.</remarks>
            <remarks>Defaults to 128 bits.</remarks>
        </member>
        <member name="T:WCell.Core.Cryptography.SecureRemotePassword.SRPParameters.SRPVersion">
            <summary>
            Algorithm version. Consult specification for differences.
            </summary>
        </member>
        <member name="T:WCell.Core.AsyncTaskPool">
            <summary>
            A task pool that processes messages asynchronously on the application thread pool.
            </summary>
        </member>
        <member name="M:WCell.Core.AsyncTaskPool.#ctor">
            <summary>
            Creates a new task pool with an update frequency of 100ms
            </summary>
        </member>
        <member name="M:WCell.Core.AsyncTaskPool.#ctor(System.Int64)">
            <summary>
            Creates a new task pool with the specified update frequency.
            </summary>
            <param name="updateFrequency">the update frequency of the task pool</param>
        </member>
        <member name="M:WCell.Core.AsyncTaskPool.EnqueueTask(WCell.Util.Threading.IMessage)">
            <summary>
            Enqueues a new task in the queue that will be executed during the next
            tick.
            </summary>
        </member>
        <member name="M:WCell.Core.AsyncTaskPool.WaitOneTick">
            <summary>
            Waits until all currently enqueued messages have been processed.
            </summary>
        </member>
        <member name="T:WCell.Core.Localization.WCell_Core">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.CheckingForDatabase">
            <summary>
              Looks up a localized string similar to Checking for {0} database.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.DatabaseConnectionFailure">
            <summary>
              Looks up a localized string similar to Couldn&apos;t connect to database server.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.DatabaseDoesNotExist">
            <summary>
              Looks up a localized string similar to {0} database does not exist, creating.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.DBCreateFailed">
            <summary>
              Looks up a localized string similar to Failed to create the neccessary database!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.DBScriptNotFound">
            <summary>
              Looks up a localized string similar to Couldn&apos;t load the DB script file!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.FatalUnhandledException">
            <summary>
              Looks up a localized string similar to A fatal, unhandled exception was encountered!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.HandlerAlreadyRegistered">
            <summary>
              Looks up a localized string similar to The PacketHandler for Packet {0} &apos;{1}&apos; has been overridden with &apos;{2}&apos;!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitComplete">
            <summary>
              Looks up a localized string similar to Initialization complete! {0} successful steps, {1} non-fatal failures..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitFailed">
            <summary>
              Looks up a localized string similar to Failed to fully process all required initialization steps!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitializingDatabase">
            <summary>
              Looks up a localized string similar to Initializing database.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitPass">
            <summary>
              Looks up a localized string similar to Initialization Pass #{0}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitStepFailed">
            <summary>
              Looks up a localized string similar to Step &apos;{0}&apos; ({1}) failed to finish{2}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitStepsLoaded">
            <summary>
              Looks up a localized string similar to Found and loaded {0} {1}!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitStepSucceeded">
            <summary>
              Looks up a localized string similar to Step:  &apos;{0}&apos; ({1}).
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InitStepWasRequired">
            <summary>
              Looks up a localized string similar to Step &apos;{0}&apos; ({1}) was required to proceed; stopping!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.InvalidHandlerMethodSignature">
            <summary>
              Looks up a localized string similar to Cannot create packet handler delegate from method &apos;{0}&apos;: invalid method signature!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.IOPoolSlowdown">
            <summary>
              Looks up a localized string similar to IO task pool experiencing slowdowns..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.KeyNotFound">
            <summary>
              Looks up a localized string similar to The key &apos;{0}&apos; was not found in the configuration file!.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerInternalRestartFailed">
            <summary>
              Looks up a localized string similar to Manager: {0}, internal restart failed..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerInternalStartFailed">
            <summary>
              Looks up a localized string similar to Manager: {0}, internal start failed..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerInternalStopFailed">
            <summary>
              Looks up a localized string similar to Manager: {0}, internal stop failed..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerRestarted">
            <summary>
              Looks up a localized string similar to Manager: {0}, has succesfully restarted..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerRestartFailed">
            <summary>
              Looks up a localized string similar to Manager: {0}, restart failed..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerRestarting">
            <summary>
              Looks up a localized string similar to Restarting Manager: {0}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerStarted">
            <summary>
              Looks up a localized string similar to Manager: {0}, has succesfully started..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerStartFailed">
            <summary>
              Looks up a localized string similar to Manager: {0}, start failed..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerStarting">
            <summary>
              Looks up a localized string similar to Starting Manager: {0}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerStopFailed">
            <summary>
              Looks up a localized string similar to Manager: {0}, stop failed..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerStopped">
            <summary>
              Looks up a localized string similar to Manager: {0}, has succesfully stopped..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerStopping">
            <summary>
              Looks up a localized string similar to Stopping Manager: {0}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ManagerThrownError">
            <summary>
              Looks up a localized string similar to Manager: {0}, has thrown an error: {1}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.MissingSqlScript">
            <summary>
              Looks up a localized string similar to Missing database schema file, ensure you have a {0} file in your server folder.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.NetworkPoolSlowdown">
            <summary>
              Looks up a localized string similar to Network task pool experiencing slowdowns..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.NullStream">
            <summary>
              Looks up a localized string similar to GetResourceStream returned a null stream (file not found).
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.PerformingNextInitStep">
            <summary>
              Looks up a localized string similar to Performing next step: &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ProcessExited">
            <summary>
              Looks up a localized string similar to Server has been shutdown..
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.RunningSqlScript">
            <summary>
              Looks up a localized string similar to Running {0}.
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ServerStarting">
            <summary>
              Looks up a localized string similar to Starting server....
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.ServerStopping">
            <summary>
              Looks up a localized string similar to Stopping server....
            </summary>
        </member>
        <member name="P:WCell.Core.Localization.WCell_Core.UnhandledPacket">
            <summary>
              Looks up a localized string similar to Unhandled packet {0} ({1}), Size: {2} bytes.
            </summary>
        </member>
        <member name="T:WCell.Core.Timers.IUpdatable">
            <summary>
            Defines the interface of an object that can be updated with respect to time.
            </summary>
        </member>
        <member name="M:WCell.Core.Timers.IUpdatable.Update(System.Single)">
            <summary>
            Updates the object.
            </summary>
            <param name="dt">the time since the last update in seconds</param>
        </member>
        <member name="T:WCell.Core.Timers.SimpleUpdatable">
            <summary>
            A simple wrapper that will execute a callback every time it is updated.
            </summary>
        </member>
        <member name="M:WCell.Core.Timers.SimpleUpdatable.#ctor">
            <summary>
            Creates a new <see cref="T:WCell.Core.Timers.SimpleUpdatable"/> object.
            </summary>
        </member>
        <member name="M:WCell.Core.Timers.SimpleUpdatable.#ctor(System.Action)">
            <summary>
            Creates a new <see cref="T:WCell.Core.Timers.SimpleUpdatable"/> object with the given callback.
            </summary>
        </member>
        <member name="F:WCell.Core.Timers.SimpleUpdatable.Callback">
            <summary>
            The wrapped callback.
            </summary>
        </member>
        <member name="T:WCell.RealmServer.RealmPacketOut">
            <summary>
            Packet sent to the realm server
            </summary>
        </member>
        <member name="F:WCell.RealmServer.RealmPacketOut.HEADER_SIZE">
            <summary>
            Constant indicating this <c>RealmPacketOut</c> header size.
            </summary>
        </member>
        <member name="M:WCell.RealmServer.RealmPacketOut.FinalizeWrite">
            <summary>
            Finalize packet data
            </summary>
        </member>
        <member name="P:WCell.RealmServer.RealmPacketOut.HeaderSize">
            <summary>
            The <c>RealmPacketOut</c> header size.
            </summary>
        </member>
        <member name="P:WCell.RealmServer.RealmPacketOut.OpCode">
            <summary>
            The opcode of the packet
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.Type">
            <summary>
            CreatureType.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.Family">
            <summary>
            CreatureFamily.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.SpellDataId">
            <summary>
            CreatureSpellData.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.MaleDisplayId">
            <summary>
            CreatureDisplayInfo.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.FemaleDisplayId">
            <summary>
            CreatureDisplayInfo.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.DisplayId3">
            <summary>
            CreatureDisplayInfo.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.WDB.CreatureCache.DisplayId4">
            <summary>
            CreatureDisplayInfo.dbc
            </summary>
        </member>
        <member name="T:WCell.Core.Localization.Resources">
            <summary>
            Wrapper for auto-generated resource class. This allows the the strongly-typed
            resources to be auto-generated, while this class ensures there will always be 
            'Resources' type available to call.
            </summary>
        </member>
        <member name="F:WCell.Core.HighId.Item">
            <summary>
            Or Container
            </summary>
        </member>
        <member name="F:WCell.Core.HighGuidType.NoEntry">
            <summary>
            Also Player, Corpse, or DynamicObject
            </summary>
        </member>
        <member name="T:WCell.Core.DBC.MapInfo">
            <summary>
            Represents an entry in Map.dbc
            </summary>
        </member>
        <member name="F:WCell.Core.DBC.MapInfo.RaidResetTimer">
            <summary>
            In seconds
            </summary>
        </member>
        <member name="F:WCell.Core.DBC.MapInfo.HeroicResetTimer">
            <summary>
            In seconds
            </summary>
        </member>
        <member name="M:WCell.Core.WCellUtil.ToHex(WCell.Core.Network.PacketId,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Dumps the array to string form, using hexadecimal as the formatter
            </summary>
            <returns>hexadecimal representation of the data parsed</returns>
        </member>
        <member name="T:WCell.Core.Addons.WCellAddonDescriptor">
            <summary>
            A full description of a plugin to be loaded
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonDescriptor.FilePath">
            <summary>
            Path to the Assembly that contains the Addon
            </summary>
        </member>
        <member name="F:WCell.Core.Addons.WCellAddonDescriptor.TypeName">
            <summary>
            Fully specified type-name of the Addon within the Assembly to be found in FilePath 
            (or null if the Assembly is only a simple library)
            </summary>
        </member>
        <member name="M:WCell.Core.Addons.WCellAddonDescriptor.ParseDefault(System.String,System.String)">
            <summary>
            Parses the given string of descriptors (using the default format) and adds them to the given list.
            The default format:
            All descriptors are seperated by ";" and each consist of one or two parts, seperated by ","; the first part
            being the filename and the 2nd part (not necessarily needed) the fully qualified 
            typename of the Addon-class.
            </summary>
            <param name="dir">The dir to look in for the Addon-Assemblies.</param>
            <param name="descriptorString">eg.: MyDllFile, My.NameSpace.MyAddonClass; My2ndFileIsJustALib; AnotherAddonFile, SomeOther.AddonClass</param>
        </member>
        <member name="P:WCell.Core.Addons.WCellAddonDescriptor.Directory">
            <summary>
            The Directory where the Addon has been found
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.WCellAddonDescriptor.Exists">
            <summary>
            Whether the Assembly exists at this Descriptor's FilePath
            </summary>
        </member>
        <member name="T:WCell.AuthServer.AuthPacketIn">
            <summary>
            Represents an inbound packet from the client.
            </summary>
        </member>
        <member name="F:WCell.AuthServer.AuthPacketIn.HEADER_SIZE">
            <summary>
            Constant indicating this <c>AuthPacketIn</c> header size.
            </summary>
        </member>
        <member name="M:WCell.AuthServer.AuthPacketIn.#ctor(Cell.Core.BufferSegment,System.Int32)">
            <summary>
            Default constructor.
            </summary>
            <param name="length">the length of bytes to read</param>
        </member>
        <member name="M:WCell.AuthServer.AuthPacketIn.#ctor(Cell.Core.BufferSegment,System.Int32,System.Int32)">
            <summary>
            Default constructor.
            </summary>
            <param name="offset">the zero-based index to read from</param>
            <param name="length">the length of bytes to read</param>
        </member>
        <member name="P:WCell.AuthServer.AuthPacketIn.HeaderSize">
            <summary>
            The <c>AuthPacketOut</c> header size.
            </summary>
        </member>
        <member name="T:WCell.Core.ManagerStates">
            <summary>
            Manager states enum used to determinate the state of the manager in a specific momment
            </summary>
        </member>
        <member name="F:WCell.Core.ManagerStates.Started">
            <summary>
            The manager has started and is running
            </summary>
        </member>
        <member name="F:WCell.Core.ManagerStates.Starting">
            <summary>
            The manager is currently starting
            </summary>
        </member>
        <member name="F:WCell.Core.ManagerStates.Stopped">
            <summary>
            The manager is stopped and not running
            </summary>
        </member>
        <member name="F:WCell.Core.ManagerStates.Stopping">
            <summary>
            The manager is currently stopping
            </summary>
        </member>
        <member name="F:WCell.Core.ManagerStates.Restarting">
            <summary>
            The manager has been restarted
            </summary>
        </member>
        <member name="F:WCell.Core.ManagerStates.Error">
            <summary>
            The manager suffered an error
            </summary>
        </member>
        <member name="T:WCell.Core.ManagerException">
            <summary>
            Base manager <see cref="T:System.Exception"/> class
            </summary>
        </member>
        <member name="T:WCell.Core.ManagerEventArgs">
            <summary>
            Base manager event arguments used all manager events.
            </summary>
        </member>
        <member name="T:WCell.Core.ManagerRestartEventArgs">
            <summary>
            Manager restart event arguments used when raising the Restart event.
            </summary>
        </member>
        <member name="P:WCell.Core.ManagerRestartEventArgs.Forced">
            <summary>
            Indicates if the manager restart was forced.
            </summary>
        </member>
        <member name="T:WCell.Core.ManagerErrorEventArgs">
            <summary>
            Manager error event arguments used when raising the Error event.
            </summary>
        </member>
        <member name="P:WCell.Core.ManagerErrorEventArgs.FailedState">
            <summary>
            The current manager state where the error was caused
            </summary>
        </member>
        <member name="T:WCell.Core.Manager`1">
            <summary>
            Base class used for all Manager classes
            </summary>
            <remarks>
            This base class implements the singleton design pattern thru deriving from a <see cref="T:WCell.Core.Singleton`1"/>
            This singleton class enforces the singleton pattern at runtime. So when you inherit from Manager
            make sure your class have a non public default (empty) constructor but dont have a public one.
            </remarks>
            <example>
            public sealed class ChatManager : Manager{ChatManager}
            {
                private ChatManager()
                {
                }
            }
            </example>
            <typeparam name="T">The <see cref="T:System.Type"/> of the class that we want to create a manager for.</typeparam>
        </member>
        <member name="T:WCell.Core.Singleton`1">
            <summary>
            Generic Singleton class implementing the Singleton design pattern in a thread safe and lazy way.
            </summary>
            <remarks>
            Thread safe and lazy implementation of the Singleton pattern based on the fifth reference implementation
            found in: http://www.yoda.arachsys.com/csharp/singleton.html
            This class uses Reflection to solve a limitation in the generics pattern to allocate the T type.
            If the T Type has a public constructor it will throw an exception and wont allow to create the Singleton.
            </remarks>
            <typeparam name="T">The Type that you want to retrieve an unique instance</typeparam>
        </member>
        <member name="P:WCell.Core.Singleton`1.Instance">
            <summary>
            Returns the singleton instance.
            </summary>
        </member>
        <member name="M:WCell.Core.Manager`1.Start">
            <summary>
            Starts the manager
            </summary>
            <returns>True if the manager started succesfully. False otherwise</returns>
        </member>
        <member name="M:WCell.Core.Manager`1.Stop">
            <summary>
            Stops the manager
            </summary>
            <returns>True if the manager stopped succesfully. False otherwise</returns>
        </member>
        <member name="M:WCell.Core.Manager`1.Restart(System.Boolean)">
            <summary>
            Restarts the manager
            </summary>
            <param name="forced">If true, forces the restart of the manager even if its in an 
            <see cref="F:WCell.Core.ManagerStates.Error"/> state.</param>
            <returns>True if the manager restarted succesfully. False otherwise</returns>
        </member>
        <member name="M:WCell.Core.Manager`1.InternalStart">
            <summary>
            Called on server start to allow derived managers to load its custom state properly
            </summary>
            <returns>True if the derived manager could load its state correctly. False otherwise</returns>
        </member>
        <member name="M:WCell.Core.Manager`1.InternalStop">
            <summary>
            Called on server stop to allow derived managers to unload its custom state properly
            </summary>
            <returns>True if the derived manager could unload its state correctly. False otherwise</returns>
        </member>
        <member name="M:WCell.Core.Manager`1.InternalRestart(System.Boolean)">
            <summary>
            Called on server start to allow derived managers to restart its custom state properly
            </summary>
            <returns>True if the derived manager could restart its state correctly. False otherwise</returns>
        </member>
        <member name="M:WCell.Core.Manager`1.OnStarting">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Starting"/> event
            </summary>
        </member>
        <member name="M:WCell.Core.Manager`1.OnStopping">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Stopping"/> event
            </summary>
        </member>
        <member name="M:WCell.Core.Manager`1.OnRestarting(System.Boolean)">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Restarting"/> event
            <param name="forced">If true, forces the restart of the manager even if its in an 
            <see cref="F:WCell.Core.ManagerStates.Error"/> state.</param>
            </summary>
        </member>
        <member name="M:WCell.Core.Manager`1.OnStarted(WCell.Core.ManagerException)">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Started"/> event
            </summary>
            <param name="exception">The exception thrown when processing the start of the manager, if it failed.
            Null if the manager was started succesfully.
            </param>
        </member>
        <member name="M:WCell.Core.Manager`1.OnStopped(WCell.Core.ManagerException)">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Stopped"/> event
            </summary>
            <param name="exception">The exception thrown when processing the stop of the manager, if it failed.
            Null if the manager was stopped succesfully.
            </param>
        </member>
        <member name="M:WCell.Core.Manager`1.OnRestarted(System.Boolean,WCell.Core.ManagerException)">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Restarted"/> event
            </summary>
            <param name="forced">True if the manager restart was forced. False otherwise</param>
            <param name="exception">The exception thrown when processing the restart of the manager, if it failed.
            Null if the manager was restarted succesfully.
            </param>
        </member>
        <member name="M:WCell.Core.Manager`1.OnError(WCell.Core.ManagerException)">
            <summary>
            Triggers the <see cref="E:WCell.Core.Manager`1.Error"/> event.
            </summary>
            <param name="exception">The exception that caused the error</param>
        </member>
        <member name="E:WCell.Core.Manager`1.Started">
            <summary>
            Event called when the Manager has started
            </summary>
        </member>
        <member name="E:WCell.Core.Manager`1.Stopped">
            <summary>
            Event called when the Manager has succesfully stopped
            </summary>
        </member>
        <member name="E:WCell.Core.Manager`1.Restarted">
            <summary>
            Event called when the Manager has succesfully restarted
            </summary>
        </member>
        <member name="E:WCell.Core.Manager`1.Starting">
            <summary>
            Event called when the Manager is about to start
            </summary>
        </member>
        <member name="E:WCell.Core.Manager`1.Stopping">
            <summary>
            Event called when the Manager is about to stop
            </summary>
        </member>
        <member name="E:WCell.Core.Manager`1.Restarting">
            <summary>
            Event called when the Manager is about to restart
            </summary>
        </member>
        <member name="E:WCell.Core.Manager`1.Error">
            <summary>
            Event called when the Manager throws an error
            </summary>
        </member>
        <member name="P:WCell.Core.Manager`1.State">
            <summary>
            The manager states enum.
            </summary>
        </member>
        <member name="P:WCell.Core.Manager`1.StartCounter">
            <summary>
            The ammount of times this manager was started.
            </summary>
        </member>
        <member name="P:WCell.Core.Manager`1.StopCounter">
            <summary>
            The ammount of times this manager was stopped.
            </summary>
        </member>
        <member name="P:WCell.Core.Manager`1.RestartCounter">
            <summary>
            The ammount of times this manager was restarted.
            </summary>
        </member>
        <member name="P:WCell.Core.Manager`1.ErrorCounter">
            <summary>
            The ammount of errors generated in this manager.
            </summary>
        </member>
        <member name="T:WCell.Core.Network.NetworkStatistics">
            <summary>
            Manages network-related statistics.
            </summary>
        </member>
        <member name="T:WCell.Core.Network.PacketManager`3">
            <summary>
            Manages packet handlers and the execution of them.
            </summary>
        </member>
        <member name="M:WCell.Core.Network.PacketManager`3.Register(WCell.Core.Network.PacketId,System.Action{`0,`1},System.Boolean,System.Boolean)">
            <summary>
            Registers a packet handler delegate for a specific packet.
            </summary>
            <param name="packetId">the PacketID of the packet to register the handler for</param>
            <param name="fn">the handler delegate to register for the specified packet type</param>
        </member>
        <member name="M:WCell.Core.Network.PacketManager`3.HandleUnhandledPacket(`0,`1)">
            <summary>
            Handles a packet that has no handler.
            </summary>
            <param name="client">the client the packet is from</param>
            <param name="packet">the unhandled packet</param>
        </member>
        <member name="M:WCell.Core.Network.PacketManager`3.HandlePacket(`0,`1)">
            <summary>
            Attempts to handle an incoming packet.
            </summary>
            <param name="client">the client the packet is from</param>
            <param name="packet">the packet to be handled</param>
            <returns>true if the packet handler executed successfully; false otherwise</returns>
        </member>
        <member name="M:WCell.Core.Network.PacketManager`3.Register(System.Type)">
            <summary>
            Registers all packet handlers defined in the given type.
            </summary>
            <param name="type">the type to search through for packet handlers</param>
        </member>
        <member name="M:WCell.Core.Network.PacketManager`3.RegisterAll(System.Reflection.Assembly)">
            <summary>
            Automatically detects and registers all PacketHandlers within the given Assembly
            </summary>
        </member>
        <member name="T:WCell.Core.Initialization.InitFailedHandler">
            <summary>
            
            </summary>
            <param name="mgr"></param>
            <param name="step"></param>
            <returns>Whether or not to continue</returns>
        </member>
        <member name="T:WCell.Core.Initialization.InitMgr">
            <summary>
            Handles the loading and execution of all initialization code.
            </summary>
        </member>
        <member name="F:WCell.Core.Initialization.InitMgr.FeedbackRepeatFailHandler">
            <summary>
            Handler asks user through Console whether to repeat the step and then continues or just stops
            </summary>
        </member>
        <member name="M:WCell.Core.Initialization.InitMgr.Initialize(System.Reflection.Assembly)">
            <summary>
            Initializes all Types of the given Assembly.
            </summary>
            <returns>Whether initialization could be performed for all found steps.</returns>
        </member>
        <member name="M:WCell.Core.Initialization.InitMgr.Initialize(System.Type)">
            <summary>
            Initializes the given Type.
            </summary>
            <returns>Whether initialization could be performed for all found steps in the given type.</returns>
        </member>
        <member name="M:WCell.Core.Initialization.InitMgr.Init">
            <summary>
            Finds, reads, and stores all initialization steps to be completed.
            </summary>
        </member>
        <member name="M:WCell.Core.Initialization.InitMgr.AddStepsOfAsm(System.Reflection.Assembly)">
            <summary>
            Adds all InitializationSteps of the given Assembly.
            </summary>
            <param name="asm"></param>
        </member>
        <member name="M:WCell.Core.Initialization.InitMgr.PerformInitialization">
            <summary>
            Tries to execute all initialization steps, and returns the initialization result, 
            logging every failure and success.
            </summary>
            <returns>true if all initialization steps completed, false if a required step failed.</returns>
        </member>
        <member name="P:WCell.Core.Initialization.InitMgr.CurrentPass">
            <summary>
            The <see cref="T:WCell.Core.Initialization.InitializationPass"/> that is currently being executed.
            </summary>
        </member>
        <member name="T:WCell.Core.Addons.WCellAddonContext">
            <summary>
            Contains all information related to an Addon.
            </summary>
        </member>
        <member name="M:WCell.Core.Addons.WCellAddonContext.Load">
            <summary>
            Loads the Assembly and its addon (if not loaded already)
            </summary>
            <exception cref="T:System.ArgumentException">If the supplied Type does not exist in the Assembly that is in FilePath</exception>
        </member>
        <member name="P:WCell.Core.Addons.WCellAddonContext.Descriptor">
            <summary>
            The descriptor, holding the original filename and TypeName of the Assembly and its containing Addon
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.WCellAddonContext.Assembly">
            <summary>
            The containing assembly (might be null if descriptor has not been loaded yet)
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.WCellAddonContext.Addon">
            <summary>
            The created Addon (might be null if descriptor has not been loaded yet or if this a library which does not get initialized)
            </summary>
        </member>
        <member name="T:WCell.Core.Compression">
            <summary>
            Wrapper for ICSharpCode.SharpZipLib.
            </summary>
        </member>
        <member name="M:WCell.Core.Compression.CompressZLib(System.Byte[],System.Byte[],System.Int32,System.Int32@)">
            <summary>
            Performs deflate compression on the given data.
            </summary>
            <param name="input">the data to compress</param>
            <param name="output">the compressed data</param>
        </member>
        <member name="M:WCell.Core.Compression.DecompressZLib(System.Byte[],System.Byte[])">
            <summary>
            Performs inflate decompression on the given data.
            </summary>
            <param name="input">the data to decompress</param>
            <param name="output">the decompressed data</param>
        </member>
        <member name="T:WCell.Core.CommandUtil">
            <summary>
            Contains methods that are needed for both, Auth- and RealmServer commands
            </summary>
        </member>
        <member name="T:WCell.Core.Cryptography.Authenticator">
            <summary>
            Handles writing the server's authentication proof and validating the client's proof.
            </summary>
        </member>
        <member name="M:WCell.Core.Cryptography.Authenticator.#ctor(WCell.Core.Cryptography.SecureRemotePassword)">
            <summary>
            Default constructor.
            </summary>
            <param name="srp">the SRP instance for our current session</param>
        </member>
        <member name="M:WCell.Core.Cryptography.Authenticator.WriteServerChallenge(WCell.Core.Network.PrimitiveWriter)">
            <summary>
            Writes the server's challenge.
            </summary>
            <param name="packet">the packet to write to</param>
        </member>
        <member name="M:WCell.Core.Cryptography.Authenticator.IsClientProofValid(WCell.Core.Network.PacketIn)">
            <summary>
            Checks if the client's proof matches our proof.
            </summary>
            <param name="packet">the packet to read from</param>
            <returns>true if the client proof matches; false otherwise</returns>
        </member>
        <member name="M:WCell.Core.Cryptography.Authenticator.WriteServerProof(WCell.Core.Network.PrimitiveWriter)">
            <summary>
            Writes the server's proof. 
            </summary>
            <param name="packet">the packet to write to</param>
        </member>
        <member name="P:WCell.Core.Cryptography.Authenticator.SRP">
            <summary>
            The SRP instance we're using
            </summary>
        </member>
        <member name="T:WCell.Core.Timers.TimerEntry">
            <summary>
            Lightweight timer object that supports one-shot or repeated firing.
            </summary>
            <remarks>This timer is not standalone, and must be driven via the <see cref="T:WCell.Core.Timers.IUpdatable"/> interface.</remarks>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.#ctor(System.Single,System.Single,System.Action{System.Single})">
            <summary>
            Creates a new timer with the given start delay, interval, and callback.
            </summary>
            <param name="delay">the delay before firing initially</param>
            <param name="interval">the interval between firing</param>
            <param name="callback">the callback to fire</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.#ctor(System.Int32,System.Int32,System.Action{System.Single})">
            <summary>
            Creates a new timer with the given start delay, interval, and callback.
            </summary>
            <param name="delay">the delay before firing initially</param>
            <param name="interval">the interval between firing</param>
            <param name="callback">the callback to fire</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.#ctor(System.UInt32,System.UInt32,System.Action{System.Single})">
            <summary>
            Creates a new timer with the given start delay, interval, and callback.
            </summary>
            <param name="delay">the delay before firing initially</param>
            <param name="interval">the interval between firing</param>
            <param name="callback">the callback to fire</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Start">
            <summary>
            Starts the timer.
            </summary>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Start(System.Single)">
            <summary>
            Starts the timer with the given delay.
            </summary>
            <param name="initialDelay">the delay before firing initially</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Start(System.Single,System.Single)">
            <summary>
            Starts the time with the given delay and interval.
            </summary>
            <param name="initialDelay">the delay before firing initially</param>
            <param name="interval">the interval between firing</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Start(System.Int32)">
            <summary>
            Starts the timer with the given delay.
            </summary>
            <param name="initialDelay">the delay before firing initially</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Start(System.Int32,System.Int32)">
            <summary>
            Starts the time with the given delay and interval.
            </summary>
            <param name="initialDelay">the delay before firing initially</param>
            <param name="interval">the interval between firing</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Start(System.UInt32,System.UInt32,System.Action{System.Single})">
            <summary>
            Starts the time with the given delay and interval.
            </summary>
            <param name="initialDelay">the delay before firing initially</param>
            <param name="interval">the interval between firing</param>
            <param name="callback">the callback to invoke after a lapse of the timer interval</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Stop">
            <summary>
            Stops the timer.
            </summary>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Update(System.Single)">
            <summary>
            Updates the timer, firing the callback if enough time has elapsed.
            </summary>
            <param name="updateDelta">the time change since the last update</param>
        </member>
        <member name="M:WCell.Core.Timers.TimerEntry.Dispose">
            <summary>
            Stops and cleans up the timer.
            </summary>
        </member>
        <member name="P:WCell.Core.Timers.TimerEntry.TotalTime">
            <summary>
            The amount of time elapsed since the last firing.
            </summary>
        </member>
        <member name="P:WCell.Core.Timers.TimerEntry.IsRunning">
            <summary>
            Whether or not the timer is running.
            </summary>
        </member>
        <member name="P:WCell.Core.Addons.WCellAddonBase.Context">
            <summary>
            The <see cref="T:WCell.Core.Addons.WCellAddonContext"/> that was used to load this Addon.
            </summary>
        </member>
        <member name="M:WCell.Core.ModifyableArraySegment`1.GetCurrentMoveNext">
            <summary>
            Returns the current value and moves to next (much like an iterator)
            </summary>
        </member>
        <member name="M:WCell.Core.ModifyableArraySegment`1.SetCurrentMoveNext(`0)">
            <summary>
            Sets the current value and moves to next
            </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.BigInteger.maxLength">
            <summary>
            Maximum length of the BigInteger in uint. (4 bytes)
            </summary>
            <remarks>Change this to suit the required level of precision.</remarks>
        </member>
        <member name="F:WCell.Core.Cryptography.BigInteger.primesBelow2000">
            <summary>
            Primes smaller than 2000 to test the generated prime number.
            </summary>
        </member>
        <member name="F:WCell.Core.Cryptography.BigInteger.data">
            <summary>
            Holds bytes from the BigInteger.
            </summary>
        </member>
        <member name="M:WCell.Core.Cryptography.BigInteger.op_OnesComplement(WCell.Core.Cryptography.BigInteger)">
            <summary>
            NOT operator (1's complement)
            </summary>
            <param name="bi1">the number</param>
            <returns></returns>
        </member>
        <member name="M:WCell.Core.Extensions.ReadCString(System.IO.BinaryReader)">
            <summary>
            Reads a C-style null-terminated string from the current stream.
            </summary>
            <param name="binReader">the extended <see cref="T:System.IO.BinaryReader"/> instance</param>
            <returns>the string being reader</returns>
        </member>
    </members>
</doc>
